﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace System.Collections.Generic
{
	public delegate void ProcParams<T>(params T[] args);
	public delegate void ProcParams<T, Targ>(T subj, params Targ[] args);
	public static class IEnumerableExtension
	{
		public static IEnumerable<T> ForEach<T>(this IEnumerable<T> enm, Action<T> proc)
		{
			foreach (var item in enm)
			{
				proc(item);
				yield return item;
			}
		}		
	}
}
